객체지향이란 2편 :: C# 인트로[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

C# 인트로
[1]
등록일:2008-03-27 19:52:52 (0%)
작성자:갤러리정
제목:객체지향이란 2편

오늘은 객체지향 언어에서 사용하는 "is a" 관계에 대해 알아보도록 하죠. 일단 간단하게 말씀드리

면 상속관계 라고 할 수 있습니다. 상속관계에서의 상위계념은 하위개녀들을 포괄할 수 있는 내용

들이 들어갑니다. 예를 들어 포유류를 볼때 포유류는 젖먹이는 동물을 말합니다. 따라서 가장 상위

계념은 젖먹인다가 포함되는건 당연하겠죠. 포유류라는게 이런 동물들의 공통점을 뽑아 만든 개념

이니깐요. 즉 우리가 프로그래밍을 하다 보면 이런  관계를 가진 클래스들을 만들게 되는데.. 이런

관계에서 포유류를 상위클래스, 그리고 사슴, 사람 그리고 토끼  를 하위클래스로 보면 되는 것이

죠. 이럴때 우리는 이런 말을 사용합니다. 사슴은 포유류다. 또는 사람은 포유류다라는 말을. 즉 우

리가 다음과 같은 클래스를 만들게 되면

                                  Employee
                                     |  
                                     |  
                                  Manager

즉 코딩은 다음과 같겠죠.
        
        class Employee
        {
                String name;
                int salary;
                int ssn;
        }


        class Manager extends Employee
        {
                String managerGroup;
                // any coding...
        } 
        
이럴때 객체지향언어에서는 Manager is a Employee 라는 말을 사용합니다.위의 예와 같은 식이

죠.따라서 이런 "is a"관계가 바로 상속관계라고 생각하시면 됩니다.위에서 설명드리지 않은 것중에

extends라는 것이 있죠.이것이 바로 상속을 할때 사용하는 keyword입니다.  상위에 있는 클래스

(Employee를 말하죠.)의 모든것을 하위에  있는 클래스(Manager) 가 물려 받는 것이죠. 즉

Employee에 있는 Class에 있는 name, salary, ssn같은 것들을 Manager또한 사용하기 때문에

Manager를 새로 처음부터  만드는 것이 아니라 Employee를 상속받고 자신만의 변수(man 
agerGroup)를 선언해서 사용하는 겁니다.  물론 재사용별骸?관련이 있겠구요. 자바에서는 단일

상속만을 지원합니다. 즉 모든클래스의 상위클래스는 반드시 하나만이 존재할 수 있다는 것입니다.

물론 그 상위클래스위의 상위클래스는 존재할 수 있겠죠. 바로 위가 하나라는 말입니다...물론 아시

죠? 또한 어제 했던 생성자와  연계시켜서생성자는 상속되질 않습니다. 당연하겠죠. 왜냐하면,  생

성자라고 하는 것이 하는일이 멤버 변수의 초기화를  하게 되는건데 상속을 받아서 새로운 멤버를

선언하게 될텐데.  그런건 자신의 클래스 안에서 해야되는거겠죠?  또한 생성자를 만드는 법이

return type이 없고,class의 이름과 같아야 하기 때문에 상속받아봐야 자신의 클래스에서는 생성자

의 역활을 할 수가 없겠죠?


[본문링크] 객체지향이란 2편
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=3036
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.